#ifndef LoaderController_H
#define LoaderController_H

#include <ESP8266WiFi.h>
#include <Arduino.h>
#include <Servo.h>

#define MAX_SRV_CLIENTS 3               //最大同时连接数，即可接入的设备数量的最大值，
const char AP_NameChar[] = "WiFiLoader";
const char AP_PasswordChar[] = "12345678";    //设置AP模式下模块所发出的WIFI的密码

//----------------------------------------------------------------
// LoaderController 是WIFI装载车的控制类
//----------------------------------------------------------------
class LoaderController {
    private:
        Servo leftServo;   // 左轮舵机
        Servo rightServo;  // 右轮舵机
        Servo loaderServo; // 装载舵机
        // WiFiServer wifiServer;
        WiFiClient serverClients[MAX_SRV_CLIENTS];
        char data[1500];
        int ind = 0;

        // 启动Socket服务
        void startTcpSocketService(void);
        
    public:
        LoaderController(int leftPin, int rightPin, int loaderPin);
        ~LoaderController();

        // 启动WiFi AP 模式
        bool startWiFiWithAPMode(void);

        // 轮询模式
        void socketLoop(void);

};


#endif